/**

关于位运算网上的讨论参差不齐，有人说位运算性能好，简洁；也有人说位运算太过晦涩难懂，不够易读，这里笔者不发表意见，仅仅想说的是尽量在使用位运算代码的时候写好注释！
 */

// 1 ) 使用&运算符判断一个数的奇偶： 链接：https://juejin.cn/post/6844903568906911752
// 偶数 & 1 = 0
// 奇数 & 1 = 1
console.log("奇偶--", 2 & 1); // 0
console.log("奇偶--", 1 & 1); // 1
console.log("奇偶--", 3 & 1); // 1

// 2 ) 使用~, >>, <<, >>>, |来取整
console.log("取整--", ~~6.11); // 6
console.log("取整--", 6.11 >> 0); // 6
console.log("取整--", 6.11 << 0); // 6
console.log("取整--", 6.11 | 0); // 6
// >>> 不可对负数取整
console.log("取整--", 6.11 >>> 0);

// 3 ) 使用^来完成值交换
let a = 3;
let b = 4;
a ^= b;
console.log("交换值：", a, b);
b ^= a;
console.log("交换值：", a, b);
a ^= b;
console.log("交换值：", b, a);

// 4 ) 使用&, >>, |来完成rgb值和16进制颜色值之间的转换
